home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
compuserve-file-archive
/
09 Application Software
/
ACE-15E.SFX
/
ace15-tech.doc
< prev
next >
Wrap
Text File
|
1995-12-17
|
23KB
|
421 lines
┴├┼-128/64 ╘┼├╚╬╔├┴╠ ╔╬╞╧╥═┴╘╔╧╬ FOR ╥ELEASE #15 [╩UNE 26, 1995]
------------------------------------------------------------------------------
1. ╔╬╘╥╧─╒├╘╔╧╬
╘HIS DOCUMENT CONTAINS SOME TECHNICAL INFORMATION ABOUT ┴├┼ THAT MAY BE OF
INTEREST TO TECHNICALLY INCLINED MEMBERS OF OUR AUDIENCE. ╘ECHNICAL
INFORMATION ABOUT WRITING APPLICATIONS FOR ┴├┼ CAN BE FOUND IN THE
╨ROGRAMMER'S ╥EFERENCE ╟UIDE DOCUMENTATION, WHICH SHOULD BE AVAILABLE FROM
THE SAME PLACE THAT YOU GOT THIS DOCUMENT.
2. ╧╓┼╥╓╔┼╫ ═┼═╧╥┘ ═┴╨
╬OTE THAT THE "ACE128" AND "ACE64" PROGRAMS ARE FUNCTIONALLY IDENTICAL, EXCEPT
THAT ONE IS SET UP FOR THE 128 AND THE OTHER FOR THE 64. ╘HUS, ALL OF THE
APPICATION BINARY PROGRAMS WILL WORK WITH EITHER "ACE128" OR "ACE64". ╠╧┴─
AND ╥╒╬ THE "ACE" PROGRAM AND IT WILL LOAD THE CORRECT "KERNEL" FOR YOUR
COMPUTER.
╚ERE IS AN OVERVIEW MEMORY MAP OF ┴├┼-128/64:
$0002-$007F = APPLICATION WORK AREA (0.125╦)
$0080-$00FF = SYSTEM ZERO-PAGE STORAGE (0.125╦)
$0100-$01FF = PROCESSOR STACK (0.25╦)
$0200-$0EFF = SYSTEM STORAGE (3.25╦)
$0F00-$0FFF = KERNEL-INTERFACE VARIABLES (0.25╦)
$1000-$12FF = SYSTEM STORAGE / FREE ON THE ├64 (0.75╦)
$1300-$5FFF = ┴├┼ KERNEL AND DEVICE DRIVERS (23.25╦)
$7000-$BFFF = APPLICATION AREA & STACK (20╦ / CONFIGURABLE SIZE)
$C000-$EDFF = FREE MEMORY (11╦)
$EE00-$EEFF = MODEM RECEIVE BUFFER (0.25╦ / CONFIGURABLE SIZE)
$EF00-$EFFF = MODEM TRANSMIT BUFFER (0.25╦)
$F000-$F7FF = REGULAR CHARACTER SET (2╦)
$F800-$FBFF = VIC 40-COLUMN SCREEN (1╦)
$FC00-$FEFF = FREE MEMORY (0.75╦)
$FF00-$FFFF = SYSTEM STORAGE (0.25╦)
OR, IF YOU'RE ON A ├64 WITH THE SOFT-80 SCREEN CONFIGURED:
$C000-$C9FF = FREE MEMORY (2╦)
$CA00-$CAFF = MODEM RECEIVE BUFFER (0.25╦ / CONFIGURABLE SIZE)
$CB00-$CBFF = MODEM TRANSMIT BUFFER (0.25╦)
$CC00-$CFFF = VIC 40-COLUMN SCREEN (1╦)
$D000-$D7FF = REGULAR CHARACTER SET (2╦)
$D800-$DFFF = SOFT-80 4-BIT CHARACTER SET (2╦)
$E000-$FF3F = BITMAPPED SCREEN (7.81╦)
$FF40-$FFFF = SYSTEM STORAGE (0.19╦)
╫HEN ╔ GET AROUND TO REORGANIZING THE ╬EW ┴├┼-128 MEMORY MAP, IT WILL LOOK
LIKE THE FOLLOWING:
╥┴═0 $0000 (256) SYSTEM ZERO PAGE
╥┴═0 $0100 (256) SYSTEM STACK PAGE
╥┴═0 $0200 (512) ├OMMODORE ╦ERNAL WORK AREAS / TEMPORARY STORAGE
╥┴═0 $0400 (1024) FORTY-COLUMN-SCREEN VIDEO ╥┴═
╥┴═0 $0800 (512) ┴├┼ INTER-BANK SYSTEM-CALL LAUNCH AREA
╥┴═0 $0A00 (256) ├OMMODORE ╦ERNAL WORK AREA
╥┴═0 $0B00 (256) ┴├┼ STRING BUFFER
╥┴═0 $0C00 (256) ┴├┼ WORK AREA
╥┴═0 $0D00 (512) ┴├┼ COMMON-╥┴═ CODE
╥┴═0 $0F00 (256) ┴├┼ STATUS-VARIABLE STORAGE
╥┴═0 $1000 (2048) EIGHT-BIT CHARACTER SET
╥┴═0 $1800 (256) EXIT-DATA BUFFER
╥┴═0 $1900 (58880) ┴PPLICATION-╨ROGRAM ┴REA
╥┴═0 $FF00 (256) ┴├┼ SYSTEM PAGE
╥┴═1 $0000 (512) INACCESSIBLE MEMORY
╥┴═1 $0200 (3584) MEMORY HIDDEN BENEATH THE 4╦ OF COMMON ╥┴═ -- DYNAMIC ALLOC
╥┴═1 $1000 (32768) ┴├┼-KERNEL CODE + MISCELLANEOUS STORAGE
╥┴═1 $9000 (8192) DISK-CACHE SPACE
╥┴═1 $B000 (20224) DYNAMICALLY-ALLOCATED MEMORY
╥┴═1 $FF00 (256) ┴├┼ SYSTEM PAGE
RAM-CONFIGURATION REGISTERS: $FF01=╥┴═0, $FF02=╥┴═1 W/╔╧, $FF03=╥┴═1, $FF04=╥1K
CALL CODE:
OPEN: (6 BYTES)
STA $FF02
JMP KERN╞ILE╧PEN
RETURN CODE:
RETURN: (5 BYTES)
STA $FF01
CLC
RTS
RETURN┼RROR: (12 BYTES)
STA $FF01
STA ERROR
LDX #$00
LDY #$00
SEC
RTS
INTERN├ALL: (10 BYTES)
STA $FF01
JSR SYSWORK+13
STA $FF02
RTS
FETCH STRING BUFFER
COPY ╥┴═0 TO ╥┴═0
COPY ╥┴═0 TO ╥┴═X
COPY ╥┴═X TO ╥┴═0
ZPLOAD FROM ╥┴═X
ZPSTORE TO ╥┴═X
LOAD ╓─├ FROM ╥┴═0
STORE FROM ╓─├ TO ╥┴═0
LOAD ╓╔├ FROM ╥┴═0
CALL ├╚╥╧╒╘ FOR ╥┴═0
CALL ├╚╥╔╬ FOR ╥┴═0
TRIGGER ╥┼╒ TRANSFER
TRIGGER ╥┴═╠INK TRANSFER
3. ┬╧╧╘╙╘╥┴╨╨╔╬╟
═ORE EXPLANATION HERE LATER.
ACE - THE KERNEL BOOTSTRAPPER; CAN BE RUN FROM EITHER 64 OR 128 MODE
ACE128 - THE KERNEL FOR THE 128
ACE64 - THE KERNEL FOR THE 64
CONFIG - THE CONFIGURATION INITIALIZER
.ACERC - THE SYSTEM CONFIGURATION - THIS IS DATA NOT AN EXECUTABLE
CONFIG.EDIT - CONFIGURATION EDITOR PROGRAM (WRITTEN IN ┬┴╙╔├)
ACECHR-COMMODORE - REGULAR ├OMMODORE CHARACTER SET
ACECHR-ISO8859-1 - ╔╙╧ 8859-1 "8-BIT" CHARACTER SET
SH - THE COMMAND SHELL
.ASHRC - THE ┴├┼-COMMAND-SHELL AUTO-EXECUTION SHELL SCRIPT
4. ├╧╬╞╔╟╒╥┴╘╔╧╬ ╞╔╠┼ ╞╧╥═┴╘ ╧╓┼╥╓╔┼╫
┴├┼-128/64 ├ONFIGURATION.SYS FILE FORMAT
╞OR DEVICES: DEVICE SLOTS "A" TO "Z" (OFFSET 0 TO 127, 32 ENTRIES):
0 DEVICE DRIVER TYPE
0=╦ERNAL NON-DISK 1=╦ERNAL DISK 2=CONSOLE 3=NULL
4=RAMDISK 5=PARALLEL PORT 6=SWIFTLINK
1 DEVICE PRIMARY ADDRESS / SL:IOPAGE / PAR:0=CLEAN,1=NETWORK
2 DEVICE SECONDARY ADDRESS / SL:RECV┬UF╙IZE(1-27)
3 FLAGS / KD:$80=DEVICE HAS ├═─ REAL-TIME CLOCK
╧THER:
╧╞╞ ╙╔┌ ─┼╙├
--- --- ----
$80 1 RAMLINK DEVICE NUMBER
$81 1 RAMLINK LAST LOGICAL BANK ALLOWED TO USE PLUS ONE (NORM 255)
$82 4 REAL-TIME CLOCK DEVICES TO CHECK [4], 255=UNUSED, 254=╙MART╫ATCH
$86 1 SCREEN SAVER ACTIVATION TIME (IN MINUTES)
$87 1 ╥╘╙ ASSERTION-TO-MODEM-ACCEPTANCE DELAY PERIOD (NORM 40)
$88 8 -UNUSED-
$90 12 DEFAULT DATE IN ┬─├ ┘┘:┘┘:══:──:HH:MM:SS:TT:TW:╟╚:GM:AA
$9C 4 TIME-ZONE STRING: 3 CHAR + NULL, LOWERCASE
$┴0 1 ├128 BANK1 START FREE PAGE (NORM $04)
$┴1 1 ├128 BANK1 LAST FREE PAGE PLUS ONE (NORM $FF)
$┴2 1 ├128 EXPANDED INTERNAL MEMORY TYPE:
0=NONE, 1=├URCIO-256╦/512╦, 2=╨ESSI-256╦/512╦/1024╦
$┴3 1 ├128 BANK0 LAST ALLOWED FREE PAGE PLUS ONE (NORM $FF)
$┴4 1 ├64 SOFT-80 NON-╥┼╒ _MINIMUM_ PRESCROLLING AMOUNT (NORM 5)
$┴5 1 ├128 LAST INTERNAL BANK ALLOWED TO USE ABOVE 2, PLUS ONE (NORM 8)
$┴6 1 ├128 FIRST ╥┼╒ BANK ALLOWED TO USE (NORM 0)
$┴7 1 ├128 LAST ╥┼╒ BANK ALLOWED TO USE PLUS ONE (NORM 255)
$┴8 1 ├128 TOP PAGE OF ╘╨┴ (STACK) (NORM $C0)
$┴9 1 ├128 ╓─├ STANDARD ROW COUNT (NORM 25)
$┴┴ 1 ├128 KILOBYTES OF ╓─├ ╥┴═ (NORM 16)
$┴┬ 1 ├64 SOFT-80 ╥┼╒-HARDWARE-SCROLL PRESCROLL AMOUNT (NORM 1)
$┴├ 1 ├128 80-COL PRESCROLL AMOUNT (NORM 99)
$┴─ 1 ├128 40-COL PRESCROLL AMOUNT (NORM 99)
$┴┼ 1 ├64 SOFT-80 SOFTWARE-SCOLL PRESCROLL AMOUNT (NORM 99)
$┴╞ 1 ├64 40-COL PRESCROLL AMOUNT (NORM 99)
$┬0 8 ├128 80-COL COLOR PALETTE: TABLE OF EIGHT ╥╟┬╔ CODES, OFFSETS:
0=CHAR,1=CURSOR,2=STATUS,3=SEPARAT,4=HILITE,5=ALERT,6=BORDER,7=SCREEN
$┬8 8 ├128 40-COL COLOR PALETTE
$├0 1 ├64 BITMAP FLAGS: $80=ALLOW SOFT-80, $40=MAKE DEFAULT, $20=╥┼╒-SCROLL
$├1 1 ├64 LAST ALLOWED PAGE FREE PLUS ONE (NORM $FF)
$├2 1 ├64 FIRST ╥┼╒ BANK ALLOWED TO USE (NORM 0)
$├3 1 ├64 LAST ╥┼╒ BANK ALLOWED TO USE (NORM 255)
$├4 1 ├64 EXPANDED INTERNAL MEMORY TYPE: 0=NONE, 1=╨ESSI-256╦
$├5 1 ├64 END EXPANDED INTERNAL MEMORY BANKS PLUS ONE (NORM 4)
$├6 1 ├64 TOP PAGE OF STACK (NORM $C0)
$├7 1 VIDEO TYPE: 0=╬╘╙├, 1=╨┴╠ (DEFAULT 0)
$├8 1 KEY REPEAT DELAY IN JIFFIES (NORM 20)
$├9 1 KEY REPEAT RATE IN JIFFIES (NORM 3)
$├┴ 1 CONSOLE COLOR ENABLE: $80=TEXT, $40=COLOR (DEFAULT $80)
$├┬ 1 INPUT LINE SCROLLBACK LINE COUNT (DEFAULT 5)
$├├ 1 CONTROLLER PORT #1 DEVICE: 0=NONE, 1=JOYSTICK, 2=MOUSE (DEFAULT 2)
$├─ 1 CONTROLLER PORT #2 DEVICE: 0=NONE, 1=JOYSTICK, 2=MOUSE (DEFAULT 1)
$├┼ 1 ├128 ╓─├ MAXIMUM NUMBER OF ALLOWED DISPLAY ROWS
$├╞ 1 ├128 ╓─├ NORMAL-TO-INTERLACED-CROSSOVER NUMBER OF DISPLAY ROWS
$─0 8 ├64 80-COL COLOR PALETTE (FOR BITMAPPED HI-RES 80-COL SCREEN)
$─8 8 ├64 40-COL COLOR PALETTE
$┼0 1 ╥AM╠INK-╥┴═ PARTITION NUMBER
$┼1 13 ╥AM╠INK-╥┴═ PARTITION NAME STRING
$┼┼ 1 ╥AM╠INK-╔NDIRECT-╥┼╒ PARTITION NUMBER
$┼╞ 17 ╥AM╠INK-╔NDIRECT-╥┼╒ PARTITION NAME STRING
$100 32 INITIAL/HOME WORKING DIRECTORY ("A:")
$120 32 USER-DEFINABLE KEYMATRIX-TABLE FILE, OR NULL ("")
$140 64 DEFAULT SHELL EXECUTABLE-SEARCH-PATH STRING ("Z:","A:",".:","B:"...)
$180 64 CONFIGURATION FILE .XXXRC SEARCH PATH ("Z:", "A:", ".:")
$1├0 32 TEMPORARY DIRECTORY NAME (".:")
$1┼0 32 NAME OF CHARACTERSET TO LOAD ON BOOTUP ("ACECHR-COMMODORE")
$200 0 -┼╬─-
5. ├╚┴╥┴├╘┼╥-╙┼╘ ╞╔╠┼ ╞╧╥═┴╘
├HARACTER SETS ARE STORED IN A CUSTOM FORMAT: A 16-BYTE HEADER FOLLOWED BY A
32-BYTE SPECIAL-CHARACTER PALETTE FOLLOWED BY A 2048-BYTE 8-BIT-WIDE
CHARACTERSET FOLLOWED BY A 2048-BYTE 4-BIT-WIDE CHARACTERSET. ╘HE BEST WAY
TO EDIT THIS FILE IS WITH A MACHINE-LANGUAGE MONITOR. ╔ CAN'T REMEMBER THE
EXACT FORMAT OF THE HEADER RIGHT NOW, SO ╔'LL SAVE THAT UNTIL NEXT TIME.
╘HE CHARACTER PALETTE POINTS TO THE CHARACTERS THAT WILL BE USED FOR THE
CODES $80 TO $9F IN THE FOLLOWING DISPLAYABLE CHARACTER SET (├OMMODORE+╔╙╧):
├RAIG'S ╚ANDY ┴├┼ ╨┼╘╙├╔╔ ╧╒╘╨╒╘ ╟UIDE (INCLUDING ╔╙╧-8859-1)
0/00 ___RVS_@___ 64/40 _____@_____ 128/80 __BULLET___ 192/C0 _____└_____
1/01 ___RVS_A___ 65/41 _____A_____ 129/81 __V_LINE___ 193/C1 _____┴_____
2/02 ___RVS_B___ 66/42 _____B_____ 130/82 __H_LINE___ 194/C2 _____┬_____
3/03 ___RVS_C___ 67/43 _____C_____ 131/83 ___CROSS___ 195/C3 _____├_____
4/04 ___RVS_D___ 68/44 _____D_____ 132/84 _TL_CORNER_ 196/C4 _____─_____
5/05 ___RVS_E___ 69/45 _____E_____ 133/85 _TR_CORNER_ 197/C5 _____┼_____
6/06 ___RVS_F___ 70/46 _____F_____ 134/86 _BL_CORNER_ 198/C6 _____╞_____
7/07 _┬┼╠/RVS_G_ 71/47 _____G_____ 135/87 _BR_CORNER_ 199/C7 _____╟_____
8/08 ___RVS_H___ 72/48 _____H_____ 136/88 ___L_TEE___ 200/C8 _____╚_____
9/09 _╘┴┬/RVS_I_ 73/49 _____I_____ 137/89 ___R_TEE___ 201/C9 _____╔_____
10/0A _┬╧╠/RVS_J_ 74/4A _____J_____ 138/8A ___T_TEE___ 202/CA _____╩_____
11/0B ___RVS_K___ 75/4B _____K_____ 139/8B ___B_TEE___ 203/CB _____╦_____
12/0C ___RVS_L___ 76/4C _____L_____ 140/8C ___HEART___ 204/CC _____╠_____
13/0D _├╥_/RVS_M_ 77/4D _____M_____ 141/8D __DIAMOND__ 205/CD _____═_____
14/0E ___RVS_N___ 78/4E _____N_____ 142/8E ___CLUB____ 206/CE _____╬_____
15/0F ___RVS_O___ 79/4F _____O_____ 143/8F ___SPADE___ 207/CF _____╧_____
16/10 ___RVS_P___ 80/50 _____P_____ 144/90 _S_CIRCLE__ 208/D0 _____╨_____
17/11 _╓╘_/RVS_Q_ 81/51 _____Q_____ 145/91 __CIRCLE___ 209/D1 _____╤_____
18/12 ___RVS_R___ 82/52 _____R_____ 146/92 ___POUND___ 210/D2 _____╥_____
19/13 ___RVS_S___ 83/53 _____S_____ 147/93 _├╠╙/CHECK_ 211/D3 _____╙_____
20/14 _┬╙_/RVS_T_ 84/54 _____T_____ 148/94 ____PI_____ 212/D4 _____╘_____
21/15 ___RVS_U___ 85/55 _____U_____ 149/95 ____+/-____ 213/D5 _____╒_____
22/16 ___RVS_V___ 86/56 _____V_____ 150/96 __DIVIDE___ 214/D6 _____╓_____
23/17 ___RVS_W___ 87/57 _____W_____ 151/97 __DEGREE___ 215/D7 _____╫_____
24/18 ___RVS_X___ 88/58 _____X_____ 152/98 _C_CHECKER_ 216/D8 _____╪_____
25/19 ___RVS_Y___ 89/59 _____Y_____ 153/99 _F_CHECKER_ 217/D9 _____┘_____
26/1A ___RVS_Z___ 90/5A _____Z_____ 154/9A _SOLID_SQ__ 218/DA _____┌_____
27/1B ___RVS_[___ 91/5B _____[_____ 155/9B __CR_CHAR__ 219/DB _____█_____
28/1C ___RVS_\___ 92/5C _____\_____ 156/9C _UP_ARROW__ 220/DC _____▄_____
29/1D ___RVS_]___ 93/5D _____]_____ 157/9D _DOWN_ARRO_ 221/DD _____▌_____
30/1E ___RVS_^___ 94/5E _____^_____ 158/9E _LEFT_ARRO_ 222/DE _____▐_____
31/1F _RVS_UNDER_ 95/5F _╒╬─┼╥╠╔╬┼_ 159/9F _RIGHT_ARR_ 223/DF ___╚╧╒╙┼___
32/20 ___╙╨┴├┼___ 96/60 _┴└_GRAVE__ 160/A0 _REQ SPACE_ 224/E0 _A└_GRAVE__
33/21 _____!_____ 97/61 _┴'_ACUTE__ 161/A1 _!_INVERTD_ 225/E1 _A'_ACUTE__
34/22 _____"_____ 98/62 _┴^_CIRCUM_ 162/A2 ___CENT____ 226/E2 _A^_CIRCUM_
35/23 _____#_____ 99/63 _┴▐_TILDE__ 163/A3 ___POUND___ 227/E3 _A▐_TILDE__
36/24 _____$_____ 100/64 _┴"_DIERES_ 164/A4 __CURRENCY_ 228/E4 _A"_DIERES_
37/25 _____%_____ 101/65 _┴__RING___ 165/A5 ____YEN____ 229/E5 _A__RING___
38/26 _____&_____ 102/66 _┴┼________ 166/A6 _▄_BROKEN__ 230/E6 _AE________
39/27 _____'_____ 103/67 _├,CEDILLA_ 167/A7 __SECTION__ 231/E7 _C,CEDILLA_
40/28 _____(_____ 104/68 _┼└_GRAVE__ 168/A8 __UMULAUT__ 232/E8 _E└_GRAVE__
41/29 _____)_____ 105/69 _┼'_ACUTE__ 169/A9 _COPYRIGHT_ 233/E9 _E'_ACUTE__
42/2A _____*_____ 106/6A _┼^_CIRCUM_ 170/AA __FEM_ORD__ 234/EA _E^_CIRCUM_
43/2B _____+_____ 107/6B _┼"_DIERES_ 171/AB _L_ANG_QUO_ 235/EB _E"_DIERES_
44/2C _____,_____ 108/6C _╔└_GRAVE__ 172/AC ____NOT____ 236/EC _I└_GRAVE__
45/2D _____-_____ 109/6D _╔'_ACUTE__ 173/AD _SYL_HYPHN_ 237/ED _I'_ACUTE__
46/2E _____._____ 110/6E _╔^_CIRCUM_ 174/AE _REGISTERD_ 238/EE _I^_CIRCUM_
47/2F _____/_____ 111/6F _╔"_DIERES_ 175/AF _OVERLINE__ 239/EF _I"_DIERES_
48/30 _____0_____ 112/70 _─-_┼TH_LR_ 176/B0 __DEGREES__ 240/F0 _O^X_┼TH_S_
49/31 _____1_____ 113/71 _╬▐_TILDE__ 177/B1 ____+/-____ 241/F1 _N▐_TILDA__
50/32 _____2_____ 114/72 _╧└_GRAVE__ 178/B2 _2_SUPERSC_ 242/F2 _O└_GRAVE__
51/33 _____3_____ 115/73 _╧'_ACUTE__ 179/B3 _3_SUPERSC_ 243/F3 _O'_ACUTE__
52/34 _____4_____ 116/74 _╧^_CIRCUM_ 180/B4 ___ACUTE___ 244/F4 _O^_CIRCUM_
53/35 _____5_____ 117/75 _╧▐_TILDE__ 181/B5 ____MU_____ 245/F5 _O▐_TILDE__
54/36 _____6_____ 118/76 _╧"_DIERES_ 182/B6 _PARAGRAPH_ 246/F6 _O"_DIERES_
55/37 _____7_____ 119/77 __MULTIPLY_ 183/B7 __MID_DOT__ 247/F7 __DIVIDE___
56/38 _____8_____ 120/78 _╧/_SLASH__ 184/B8 __CEDILLA__ 248/F8 _O/_SLASH__
57/39 _____9_____ 121/79 _╒└_GRAVE__ 185/B9 _1_SUPERSC_ 249/F9 _U└_GRAVE__
58/3A _____:_____ 122/7A _╒'_ACUTE__ 186/BA __MAS_ORD__ 250/FA _U'_ACUTE__
59/3B _____;_____ 123/7B _╒^_CIRCUM_ 187/BB _R_ANG_QUO_ 251/FB _U^_CIRCUM_
60/3C _____<_____ 124/7C _╒"_DIERES_ 188/BC ____1/4____ 252/FC _U"_DIERES_
61/3D _____=_____ 125/7D _┘'_ACUTE__ 189/BD ____1/2____ 253/FD _Y'_ACUTE__
62/3E _____>_____ 126/7E _CAP_THORN_ 190/BE ____3/4____ 254/FE _SM_THORN__
63/3F _____?_____ 127/7F _┼S-SED_┬__ 191/BF _?_INVERTD_ 255/FF _Y"_DIERES_
╘HE IMAGES OF THE CHARACTERS IN THE CHARACTERSETS EACH TAKE UP EIGHTY BYTES
AND ARE ORDERED AS IN THE TABLE ABOVE. ╘HE 8-BIT-WIDE IS IN THE REGULAR
FORMAT, AND THE FOUR-BIT-WIDE IMAGES ARE ARRANGED AS TWO IMAGES OF EACH
CHARACTER IN THE UPPER AND LOWER NYBBLES OF THE EIGHT BYTES USED TO ENCODE
THEM.
6. ╦┼┘═┴╘╥╔╪ ╞╔╠┼ ╞╧╥═┴╘
╘HE KEYMATRIX FILE FORMAT IS SIMPLY CONCATENATION OF SEVEN ARRAYS OF 88
BYTES EACH. ╘HE 88-BYTE ARRAYS CONTAIN THE CHARACTER CODES TO GENERATE FOR
WHEN A USER PRESSED ONE OF THE FOLLOWING PHYSICAL KEYS:
\ ├╧╠╒═╬╙:
╥╧╫╙:\
\ 0 1 2 3 4 5 6 7
+-------+-------+-------+-------+-------+-------+-------+-------+ CODE
0 ▄ ─┼╠┼╘┼▄ ╥┼╘╒╥╬▄ ╥╔╟╚╘ ▄ ╞7 ▄ ╞1 ▄ ╞3 ▄ ╞5 ▄ ─╧╫╬ ▄ (0)
+-------+-------+-------+-------+-------+-------+-------+-------+
1 ▄ 3 ▄ ╫ ▄ ┴ ▄ 4 ▄ ┌ ▄ ╙ ▄ ┼ ▄╠-╙╚╔╞╘▄ (8)
+-------+-------+-------+-------+-------+-------+-------+-------+
2 ▄ 5 ▄ ╥ ▄ ─ ▄ 6 ▄ ├ ▄ ╞ ▄ ╘ ▄ ╪ ▄ (16)
+-------+-------+-------+-------+-------+-------+-------+-------+
3 ▄ 7 ▄ ┘ ▄ ╟ ▄ 8 ▄ ┬ ▄ ╚ ▄ ╒ ▄ ╓ ▄ (24)
+-------+-------+-------+-------+-------+-------+-------+-------+
4 ▄ 9 ▄ ╔ ▄ ╩ ▄ 0 ▄ ═ ▄ ╦ ▄ ╧ ▄ ╬ ▄ (32)
+-------+-------+-------+-------+-------+-------+-------+-------+
5 ▄ + ▄ ╨ ▄ ╠ ▄ - ▄ . ▄ : ▄ @ ▄ , ▄ (40)
+-------+-------+-------+-------+-------+-------+-------+-------+
6 ▄ \ ▄ * ▄ ; ▄ ╚╧═┼ ▄╥-╙╚╔╞╘▄ = ▄ ^ ▄ / ▄ (48)
+-------+-------+-------+-------+-------+-------+-------+-------+
7 ▄ 1 ▄ _ ▄├╧╬╘╥╧╠▄ 2 ▄ ╙╨┴├┼ ▄├╧══╧─╥▄ ╤ ▄ ╙╘╧╨ ▄ (56)
+-------+-------+-------+-------+-------+-------+-------+-------+
8 ▄ ╚┼╠╨ ▄ 8 ▄ 5 ▄ ╘┴┬ ▄ 2 ▄ 4 ▄ 7 ▄ 1 ▄ (64)
+-------+-------+-------+-------+-------+-------+-------+-------+
9 ▄ ┼╙├ ▄ + ▄ - ▄ ╠╞ ▄ ┼╬╘┼╥ ▄ 6 ▄ 9 ▄ 3 ▄ (72)
+-------+-------+-------+-------+-------+-------+-------+-------+
10 ▄ ┴╠╘ ▄ 0 ▄ . ▄ ╒╨ ▄ ─╧╫╬ ▄ ╠┼╞╘ ▄ ╥╔╟╚╘ ▄╬╧-╙├╥╠▄ (80)
+-------+-------+-------+-------+-------+-------+-------+-------+
╬OTE THAT THE ├128'S KEYBOARD HAS ALL ELEVEN ROWS (0-10) WHEREAS THE ├64'S
KEYBOARD ONLY HAS THE FIRST EIGHT (0-7). ╘HE ENTIRES WITH $00 MEAN THAT
PRESSING THE ASSOCIATED KEY DOES NOTHING. ╘HERE ARE MULTIPLE KEY MATRICES
TO PRODUCE THE CODES FOR USE WITH VARIOUS "SHIFT" KEYS. ╘HE ORDER OF THE
SEVEN KEY MATRICES IS:
1. ╬ORMAL (UNSHIFTED)
2. ╙HIFT
3. ├OMMODORE
4. ├ONTROL
5. ┴LTERNATE
6. ├APS╠OCK
7. ╙HIFT+├OMMODORE
╘HE CHARACTER CODES GENERATED SHOULD CORRESPOND TO THE FOLLOWING TABLE:
├RAIG'S ╚ANDY ┴├┼ ╨┼╘╙├╔╔ ╔╬╨╒╘ ╟UIDE (╔╙╧-8859-1)
0/00 __<NONE>___ 64/40 _____@_____ 128/80 ___├T-╞1___ 192/C0 __╙H-*__└__
1/01 _├T-╥┼╘╒╥╬_ 65/41 _____A_____ 129/81 ___├O-1____ 193/C1 _____┴_____
2/02 __╙H-╘┴┬___ 66/42 _____B_____ 130/82 ___├T-╞3___ 194/C2 _____┬_____
3/03 ___╙╘╧╨____ 67/43 _____C_____ 131/83 __╙H-╙╘╧╨__ 195/C3 _____├_____
4/04 ___╚┼╠╨____ 68/44 _____D_____ 132/84 __╙H-╚┼╠╨__ 196/C4 _____─_____
5/05 ___├T-2____ 69/45 _____E_____ 133/85 ____╞1_____ 197/C5 _____┼_____
6/06 __╙H-╠┼╞╘__ 70/46 _____F_____ 134/86 ____╞3_____ 198/C6 _____╞_____
7/07 ___╙H-╠╞___ 71/47 _____G_____ 135/87 ____╞5_____ 199/C7 _____╟_____
8/08 __├O-─┼╠___ 72/48 _____H_____ 136/88 ____╞7_____ 200/C8 _____╚_____
9/09 ____╘┴┬____ 73/49 _____I_____ 137/89 ____╞2_____ 201/C9 _____╔_____
10/0A _╠╔╬┼╞┼┼─__ 74/4A _____J_____ 138/8A ____╞4_____ 202/CA _____╩_____
11/0B _╙H-╥╔╟╚╘__ 75/4B _____K_____ 139/8B ____╞6_____ 203/CB _____╦_____
12/0C ___├O-╒╨___ 76/4C _____L_____ 140/8C ____╞8_____ 204/CC _____╠_____
13/0D __╥┼╘╒╥╬___ 77/4D _____M_____ 141/8D _╙H-╥┼╘╒╥╬_ 205/CD _____═_____
14/0E _╙H-┼╙├┴╨┼_ 78/4E _____N_____ 142/8E ___├T-╞5___ 206/CE _____╬_____
15/0F __├O-─╧╫╬__ 79/4F _____O_____ 143/8F ___├T-╞7___ 207/CF _____╧_____
16/10 __├O-╠┼╞╘__ 80/50 _____P_____ 144/90 ___├T-1____ 208/D0 _____╨_____
17/11 ___─╧╫╬____ 81/51 _____Q_____ 145/91 ____╒╨_____ 209/D1 _____╤_____
18/12 ____╥╓╙____ 82/52 _____R_____ 146/92 __╥╓╙-╧╞╞__ 210/D2 _____╥_____
19/13 ___╚╧═┼____ 83/53 _____S_____ 147/93 ____├╠╥____ 211/D3 _____╙_____
20/14 ____─┼╠____ 84/54 _____T_____ 148/94 ___╔╬╙╘____ 212/D4 _____╘_____
21/15 _├O-╥╔╟╚╘__ 85/55 _____U_____ 149/95 ___├O-2____ 213/D5 _____╒_____
22/16 ___├T-╒╨___ 86/56 _____V_____ 150/96 ___├O-3____ 214/D6 _____╓_____
23/17 __├T-─╧╫╬__ 87/57 _____W_____ 151/97 ___├O-4____ 215/D7 _____╫_____
24/18 __├T-╘┴┬___ 88/58 _____X_____ 152/98 ___├O-5____ 216/D8 _____╪_____
25/19 __├T-╠┼╞╘__ 89/59 _____Y_____ 153/99 ___├O-6____ 217/D9 _____┘_____
26/1A _├T-╥╔╟╚╘__ 90/5A _____Z_____ 154/9A ___├O-7____ 218/DA _____┌_____
27/1B ____┼╙├____ 91/5B _____[_____ 155/9B ___├O-8____ 219/DB __╙H-+__█__
28/1C ___├T-3____ 92/5C _____\_____ 156/9C ___├T-5____ 220/DC __╙H-\__▄__
29/1D ___╥╔╟╚╘___ 93/5D _____]_____ 157/9D ___╠┼╞╘____ 221/DD __╙H--__▌__
30/1E ___├T-6____ 94/5E _____^_____ 158/9E ___├T-8____ 222/DE __╙H-^__▐__
31/1F ___├T-7____ 95/5F _┬┴├╦┴╥╥╧╫_ 159/9F ___├T-4____ 223/DF _╙H-┬┴├╦┴╥_
32/20 ___╙╨┴├┼___ 96/60 ___┴LT-@___ 160/A0 __├OMM-@___ 224/E0 __├TRL-@___
33/21 _____!_____ 97/61 ___┴LT-┴___ 161/A1 __├OMM-┴___ 225/E1 __├TRL-┴___
34/22 _____"_____ 98/62 ___┴LT-┬___ 162/A2 __├OMM-┬___ 226/E2 __├TRL-┬___
35/23 _____#_____ 99/63 ___┴LT-├___ 163/A3 __├OMM-├___ 227/E3 __├TRL-├___
36/24 _____$_____ 100/64 ___┴LT-─___ 164/A4 __├OMM-─___ 228/E4 __├TRL-─___
37/25 _____%_____ 101/65 ___┴LT-┼___ 165/A5 __├OMM-┼___ 229/E5 __├TRL-┼___
38/26 _____&_____ 102/66 ___┴LT-╞___ 166/A6 __├OMM-╞___ 230/E6 __├TRL-╞___
39/27 _____'_____ 103/67 ___┴LT-╟___ 167/A7 __├OMM-╟___ 231/E7 __├TRL-╟___
40/28 _____(_____ 104/68 ___┴LT-╚___ 168/A8 __├OMM-╚___ 232/E8 __├TRL-╚___
41/29 _____)_____ 105/69 ___┴LT-╔___ 169/A9 __├OMM-╔___ 233/E9 __├TRL-╔___
42/2A _____*_____ 106/6A ___┴LT-╩___ 170/AA __├OMM-╩___ 234/EA __├TRL-╩___
43/2B _____+_____ 107/6B ___┴LT-╦___ 171/AB __├OMM-╦___ 235/EB __├TRL-╦___
44/2C _____,_____ 108/6C ___┴LT-╠___ 172/AC __├OMM-╠___ 236/EC __├TRL-╠___
45/2D _____-_____ 109/6D ___┴LT-═___ 173/AD __├OMM-═___ 237/ED __├TRL-═___
46/2E _____._____ 110/6E ___┴LT-╬___ 174/AE __├OMM-╬___ 238/EE __├TRL-╬___
47/2F _____/_____ 111/6F ___┴LT-╧___ 175/AF __├OMM-╧___ 239/EF __├TRL-╧___
48/30 _____0_____ 112/70 ___┴LT-╨___ 176/B0 __├OMM-╨___ 240/F0 __├TRL-╨___
49/31 _____1_____ 113/71 ___┴LT-╤___ 177/B1 __├OMM-╤___ 241/F1 __├TRL-╤___
50/32 _____2_____ 114/72 ___┴LT-╥___ 178/B2 __├OMM-╥___ 242/F2 __├TRL-╥___
51/33 _____3_____ 115/73 ___┴LT-╙___ 179/B3 __├OMM-╙___ 243/F3 __├TRL-╙___
52/34 _____4_____ 116/74 ___┴LT-╘___ 180/B4 __├OMM-╘___ 244/F4 __├TRL-╘___
53/35 _____5_____ 117/75 ___┴LT-╒___ 181/B5 __├OMM-╒___ 245/F5 __├TRL-╒___
54/36 _____6_____ 118/76 ___┴LT-╓___ 182/B6 __├OMM-╓___ 246/F6 __├TRL-╓___
55/37 _____7_____ 119/77 ___┴LT-╫___ 183/B7 __├OMM-╫___ 247/F7 __├TRL-╫___
56/38 _____8_____ 120/78 ___┴LT-╪___ 184/B8 __├OMM-╪___ 248/F8 __├TRL-╪___
57/39 _____9_____ 121/79 ___┴LT-┘___ 185/B9 __├OMM-┘___ 249/F9 __├TRL-┘___
58/3A _____:_____ 122/7A ___┴LT-┌___ 186/BA __├OMM-┌___ 250/FA __├TRL-┌___
59/3B _____;_____ 123/7B ___┴LT-[___ 187/BB __├OMM-[___ 251/FB __├TRL-[___
60/3C _____<_____ 124/7C ___┴LT-\___ 188/BC __├OMM-\___ 252/FC __├TRL-\___
61/3D _____=_____ 125/7D ___┴LT-]___ 189/BD __├OMM-]___ 253/FD __├TRL-]___
62/3E _____>_____ 126/7E ___┴LT-^___ 190/BE __├OMM-^___ 254/FE __├TRL-^___
63/3F _____?_____ 127/7F _┴LT-┬┴╦┴╥_ 191/BF _├OMM-┬╦┴╥_ 255/FF _├TRL-┬╦┴╥_
7. ╓┬═ ╞╔╠┼ ╞╧╥═┴╘
╘HERE ARE TWO ╓┬═ FILE FORMATS IN EXISTENCE: ╓ERSION #2 AND ╓ERSION #3. ╞OR
╓ERSION #3, THERE ARE TWO VARIATIONS AVAILABLE: ├OMPRESSED AND ╒NCOMPRESSED.
┴LL ╓┬═ FILES BEGIN WITH THE FOLLOWING THREE-BYTE IDENTIFIER: $42, $4D, $CB.
╘HIS IS FOLLOWED BY THE VERSION NUMBER, EITHER $02 OR $03, FOLLOWED BY THE
IMAGE WIDTH AND HEIGHT, EACH ENCODED IN 16 BITS IN HIGH/LOW ORDER.
╞OR ╓ERSION #2 IMAGES, THE IMAGE DATA FOLLOWS, BUT ╓ERSION #3 IMAGES HAVE
MORE HEADER INFORMATION: FIVE BYTES FOR THE COMPRESSION-ENCODING META DATA
FOLLOWED BY A TWO $00 BYTES (RESERVED), FOLLOWED BY A 16-BIT HIGH/LOW FIELD
GIVING TELLING THE LENGTH OF THE COMMENT BLOCK, FOLLOWED BY UP TO 64╦ OF
COMMENT TEXT (IN ╨┼╘╙├╔╔), FOLLOWED BY THE IMAGE DATA. ╔F THE IMAGE IS
COMPRESSED, THEN THE COMPRESSION-ENCODING META DATA IS: THE REPEAT CODE
(USUALLY $╪╪: FOR CODING REPETITIONS OF ANY ARBITRARY IMAGE BYTE), THE ZERO
CODE (USUALLY $╪╪, FOR CODING THREE OR MORE REPETITIONS OF THE IMAGE-BYTE
$00), THE ... OH NEVER MIND. ╔'LL FILL THIS IN NEXT TIME. ┘OU CAN EXAMINE
THE ├ PROGRAM TO SEE HOW THE IMAGES ARE ENCODED.
8. ├╧╬├╠╒╙╔╧╬
├OOL EH?
------------------------------------------------------------------------┼╬─---